Core Data
Core Data 是一个框架,用于管理您应用程序中的模型层对象。它提供了与对象生命周期和对象图管理(object graph management,)相关的常见任务的一般化和自动化解决方案,包括持久性。
使用 Core Data 来保存应用的永久数据以供离线使用,缓存临时数据,并在单个设备上为应用添加撤销功能。为了在单个 iCloud 账户中的多个设备之间同步数据,Core Data 会自动将您的模式镜像到 CloudKit 容器中。
Core Data 诞生于 2005 年,前身为 EOF,可以追溯到 1994 年。
Core Data 通常可以将您为模型层支持编写的代码量减少 50 到 70%。这主要归功于以下内置功能,您无需实现、测试或优化:
- 变更跟踪和内置的撤销和重做管理超越基本文本编辑。
- 变更传播的维护,包括保持对象之间关系的一致性。
- 惰性加载对象,部分预加载的未来(故障时),以及写时复制的数据共享以减少开销。
- 自动验证属性值。管理对象扩展了标准的键值编码验证方法,以确保单个值位于可接受的范围内,从而使得值的组合有意义。
- 简化模式更改并允许您在原地执行高效模式迁移的模式迁移工具。
- 可选与应用程序的控制器层集成,以支持用户界面同步。
- 在内存和用户界面中对数据进行分组、筛选和组织。
- 自动支持将对象存储在外部数据存储库中
- 复杂查询编译。您无需编写 SQL,只需通过将 NSPredicate 对象与检索请求关联,即可创建复杂的查询。
- 版本跟踪和乐观锁定以支持自动多写者冲突解决。
- 与 macOS 和 iOS 工具链的有效集成。
持久化
Core Data 抽象了将对象映射到存储库的细节,使得从 Swift 和 Objective-C 中保存数据变得容易,而无需直接管理数据库。
撤销重做
Core Data 的撤销管理器跟踪更改,并可以单独、成组或全部撤销,使其容易为您的应用添加撤销和重做支持。
后台数据任务
在后台执行可能阻塞 UI 的数据任务,例如将 JSON 解析为对象。然后,您可以缓存或存储结果以减少服务器往返次数。
视图同步
Core Data 还可以通过提供表格和集合视图的数据源来帮助保持您的视图和数据同步。
版本控制和迁移
Core Data 包括版本控制数据模型和迁移用户数据的机制,随着应用的发展而演变。
本文作者:Maeiee
本文链接:Core Data
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!